package com.llm.travel_agent_assistant.service;

import com.llm.travel_agent_assistant.dto.Result;

import java.io.File;

/**
 * 语音识别服务接口
 */
public interface AsrService {

    /**
     * 实时语音识别
     * @param audioData 音频数据
     * @return 识别结果
     */
    Result realTimeSpeechRecognition(byte[] audioData);

    /**
     * 同步语音识别（文件）
     * @param audioFile 音频文件
     * @return 识别结果
     */
    Result syncSpeechRecognition(File audioFile);

    /**
     * 麦克风实时识别
     * @return 识别结果
     */
    Result realTimeRecognitionFromMicrophone();

    /**
     * 流式实时语音识别
     * @param audioData 音频数据流
     * @param userId 用户ID
     * @return 识别结果
     */
    Result streamRealTimeRecognition(byte[] audioData, String userId);

    /**
     * 流式实时语音识别 - 费用分析
     * @param audioData 音频数据流
     * @param userId 用户ID
     * @return 识别结果
     */
    Result streamRealTimeRecognitionForBudgetAnalyze(byte[] audioData, String userId);
}